GDM est le gestionnaire de sessions de l'environnement GNOME et son bureau GNOME Shell.
Son arrière-plan par défaut est (selon les versions) soit gris avec une légère texture, soit violet uniforme. Ce n'est pas forcément très chaleureux, on va donc voir comment modifier cet arrière-plan.
Les mises à niveau, voire les mises à jour, risquent par ailleurs de réinitialiser vos configurations.
Ce tutoriel a été écrit et testé à partir d'installations d'Ubuntu 17.04 et 17.10 (GNOME Shell 3.24 et 3.26), les versions plus anciennes pourraient rencontrer des problèmes.
Les droits d'administrations seront nécessaires afin d'utiliser la commande sudo.
L'image à mettre en arrière-plan doit être au format .png (et si possible ne pas contenir de transparence). L'image doit être assez sombre (au moins en son centre) pour que les informations affichées par dessus soient lisibles.
À partir d'Ubuntu 17.10, le thème de GDM est modifié par les développeurs d'Ubuntu afin d'assurer une cohérence visuelle avec la session "Ubuntu" par défaut1).
update-alternatives --config gdm3.css
Choisissez alors gnome-shell.css en tapant le numéro adéquat.
En fonction de si vous utilisez (ou non) un thème GDM "violet-orange", les manipulations vont différer :
En tant qu'administrateur, renommez votre image noise-texture.png, puis copiez-la telle qu'elle soit à l'emplacement /usr/share/gnome-shell/theme/noise-texture.png (avec Wayland, vous pouvez accéder aux privilèges d'administration dans Nautilus en faisant précéder le chemin de "admin:" dans le navigateur de fichiers).
Puis en tant qu'administrateur, éditez le fichier /usr/share/gnome-shell/theme/ubuntu.css pour que la section #lockDialogGroup corresponde bien à :
#lockDialogGroup { background: #2e3436 url(/usr/share/gnome-shell/theme/noise-texture.png); background-repeat: no-repeat; }
Vous devrez sans doute spécifier la résolution de GDM - ce n'est pas forcément celle de l'image - avec le paramètre ci-dessous à ajouter à la section #lockDialogGroup (bien sûr, [WIDTH] et [HEIGHT] sont à remplacer par vos valeurs) :
background-size: [WIDTH]px [HEIGHT]px;
Depuis la version GNOME 3.16, les thèmes de GNOME Shell (et donc de GDM) sont par défaut stockés dans des fichiers binaires (au format gresource)2). On va extraire le thème de ce fichier, le modifier, puis le recompiler.
Pour extraire le thème par défaut, vous pouvez utiliser le script extractgst.sh suivant :
#!/bin/sh workdir=${HOME}/shell-theme if [ ! -d ${workdir}/theme ]; then mkdir -p ${workdir}/theme fi gst=/usr/share/gnome-shell/gnome-shell-theme.gresource for r in `gresource list $gst`; do gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/} done
Exécutez ce script.
Après avoir exécuté le script, ouvrez le répertoire shell-theme créé dans votre dossier personnel. Vous devriez y trouver, dans un dossier theme, les fichiers du thème qui ont été extraits.
Renommer votre image de fond d'écran en noise-texture.png, puis copiez-la dans le dossier shell-theme (écrasez l'ancienne version).
Ensuite vous devez créer, toujours dans ce répertoire, le fichier gnome-shell-theme.gresource.xml avec le contenu suivant :
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">
<file>calendar-arrow-left.svg</file>
<file>calendar-arrow-right.svg</file>
<file>calendar-today.svg</file>
<file>checkbox-focused.svg</file>
<file>checkbox-off-focused.svg</file>
<file>checkbox-off.svg</file>
<file>checkbox.svg</file>
<file>close-window.svg</file>
<file>close.svg</file>
<file>corner-ripple-ltr.png</file>
<file>corner-ripple-rtl.png</file>
<file>dash-placeholder.svg</file>
<file>filter-selected-ltr.svg</file>
<file>filter-selected-rtl.svg</file>
<file>gnome-shell.css</file>
<file>gnome-shell-high-contrast.css</file>
<file>logged-in-indicator.svg</file>
<file>more-results.svg</file>
<file>no-events.svg</file>
<file>no-notifications.svg</file>
<file>noise-texture.png</file>
<file>page-indicator-active.svg</file>
<file>page-indicator-inactive.svg</file>
<file>page-indicator-checked.svg</file>
<file>page-indicator-hover.svg</file>
<file>process-working.svg</file>
<file>running-indicator.svg</file>
<file>source-button-border.svg</file>
<file>summary-counter.svg</file>
<file>toggle-off-us.svg</file>
<file>toggle-off-intl.svg</file>
<file>toggle-on-hc.svg</file>
<file>toggle-on-us.svg</file>
<file>toggle-on-intl.svg</file>
<file>ws-switch-arrow-up.png</file>
<file>ws-switch-arrow-down.png</file>
</gresource>
</gresources>
Ouvrez le fichier gnome-shell.css pour vérifier que la section #lockDialogGroup correspond bien à :
#lockDialogGroup { background: #2e3436 url(resource:///org/gnome/shell/theme/noise-texture.png); background-repeat: no-repeat; }
Vous devrez sans doute spécifier la résolution de GDM - ce n'est pas forcément celle de l'image - avec le paramètre ci-dessous à ajouter à la section #lockDialogGroup (bien sûr, [WIDTH] et [HEIGHT] sont à remplacer par vos valeurs) :
background-size: [WIDTH]px [HEIGHT]px;
Enfin, ouvrez un terminal pour recompiler votre thème avec les commandes suivantes :
cd ~/shell-theme/theme/ glib-compile-resources gnome-shell-theme.gresource.xml
more-results.svg, retirez la ligne suivante du fichier XML précédemment créé :
<file>more-results.svg</file>
Puis recompilez.
Il ne vous reste plus qu'à copier dans /usr/share/gnome-shell le ficher gnome-shell-theme.gresource qui vient de se créer.
cp /usr/share/gnome-shell/gnome-shell-theme.gresource ~/shell-theme/gnome-shell-theme.gresource.old
sudo mv ~/shell-theme/theme/gnome-shell-theme.gresource /usr/share/gnome-shell
Les modifications prendront effet au redémarrage de l'ordinateur.